Skip to main content

Reassign elements in My Stuff

When you want to change the owner of a record, so that it appears in another Stakeholder's My Stuff, you can do so by means of an expression.

Example

Imagine in a car dealership you need to design a solution where sale representatives can reassign the vehicles they have allocated for sale. After it is done, the chosen cars must disappear from My Stuff of the first sales rep and move to My Stuff of the new sales rep.

What you need to do

To reassign many vehicles from one sales rep to another, we need to use a very simple process and an expression.

  1. Create the data model that will support the scenario
  2. Enable the entity in My Stuff
  3. Create a batch action to select the cars to transfer
  4. Create a process with a Start form to choose the new sales representative
  5. Create an action on Exit of the Start event to reassign chosen vehicles to the new sales rep and remove them from the initial sales rep.

Create the data model that will support the scenario

The first thing we need to notice is Sales representatives are direct owners of the vehicles allocated to them. Thus, we can use a direct one-to-many relationship from Sales representatives to Vehicles.

ReasignMyStuff1

Enable the entity in My Stuff

The entity that we need to link to the Stakeholder's Sales rep definition is the Vehicles entity.

Go to My Stuff and enable the collection Vehicles in the Always available context.

ReasignMyStuff2

Create a batch action to select the cars to transfer

We want to be able to choose many vehicles and transfer them from one sales rep to another. Thus, we will create an action over the Vehicles entity that we want to be shown in My Stuff.

This action will use a simple process to do the transfer.

ReasignMyStuff3

Create a process with a Start form to choose the new sales representative

We create a new process for this action with a new process entity called Reassign.

We can edit the process definition and just include the Start event. We just need a Start event because all we have to do is select a new sales rep and execute an action to transfer the chosen cars.

ReasignMyStuff4

Below is the data model of our simple process.

ReasignMyStuff5

Create an action on Exit of the Start event to transfer the vehicles

In the Wizard view, we create a form where we display the chosen vehicles and the new sales representative.

ReasignMyStuff6

Finally, we include an expression that will transfer the vehicles. The first thing we need to do is to detach the chosen vehicles from the initial sales rep.

Then, we attach the chosen vehicles to the new sales rep.

ReasignMyStuff7

//Detach the vehicles from the current sales rep

Me.detachCollectionItems("Reassign.Salesrepresentative.Vehiclesforsale", <Reassign.Vehicles>);

//Attach the vehicles to the new sales rep

Me.attachCollectionItems("Reassign.NewSalesrepresentative.Vehiclesforsale", <Reassign.Vehicles>);